package com.chen.blue.domain.vo.system;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * Created By CLT On 2024/4/29.
 */
@SuppressWarnings("all")
@Getter
@Setter
@ApiModel("部门数据展示")
public class DeptVo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 部门ID
     */
    @ApiModelProperty(value = "ID")
    private Long id;

    @ApiModelProperty(value = "父ID")
    private Long parentId;

    @ApiModelProperty(value = "父部门名称")
    private String parentName;

    /**
     * 部门名称
     */
    @ApiModelProperty(value = "部门名称")
    private String name;

    /**
     * 负责人
     */
    @ApiModelProperty(value = "负责人")
    private Long leaderUserId;

    /**
     * 显示顺序
     */
    @ApiModelProperty(value = "显示顺序")
    private Integer sort;

    /**
     * 部门状态（1正常 0停用）
     */
    @ApiModelProperty(value = "部门状态（1正常 0停用）")
    private Boolean status;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy/MM/dd", timezone = "GMT+8")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    /**
     * 子部门
     */
    @JsonIgnore
    private List<DeptVo> children;

}
